42abe47e39c7888415939861b01cbbddc5ec274b,processManager/processManager-war/src/main/java/org/silverpeas/processmanager/ProcessManagerSessionController.java,ProcessManagerSessionController,getActiveRoles,#,377
Before Change
if (role.length() > 0) {
role += ", ";
}
role += user.getDisplayedName();
}
}
}
After Change
QualifiedUsers workingUsers = state.getWorkingUsers();
RelatedUser[] relatedUsers = workingUsers.getRelatedUsers();
StringBuilder role = new StringBuilder();
if (relatedUsers != null) {
for (RelatedUser relatedUser : relatedUsers) {
if (role.length() > 0) {
role.append(", ");
}
// Process participants
Participant participant = relatedUser.getParticipant();
String relation = relatedUser.getRelation();
if (participant != null && relation == null) {
role.append(participant.getLabel(currentRole, getLanguage()));
} else if (participant != null && relation != null) {
UserInfo userInfo = userSettings.getUserInfo(relation);
if (userInfo != null) {
role.append(getUserDetail(userInfo.getValue()).getDisplayedName());
}
}
// Process folder item
Item item = relatedUser.getFolderItem();
if (item != null) {
Field field = currentProcessInstance.getField(item.getName());
if (field instanceof UserField) {
String userId = field.getStringValue();
if (userId != null) {
UserDetail user = getUserDetail(userId);
if (user != null) {
role.append(user.getDisplayedName());
}
}
} else if (field instanceof MultipleUserField) {
MultipleUserField multipleUserField = (MultipleUserField) field;
String[] userIds = multipleUserField.getUserIds();
for (String userId : userIds) {
if (userId != null) {
UserDetail user = getUserDetail(userId);
if (user != null) {
if (role.length() > 0) {
role.append(", ");
}
role.append(user.getDisplayedName());
}
}
}